[pull] main from microsoft:main#1244
Merged
Merged
Conversation
The configuration "js/ts.tsdk.path" has an incorrect description, as it referenced the deprecated "typescript.tsdk" description.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
It means localization will be kept intact.
When CAPI ends a stream with `response.incomplete` or `response.failed`, the parser previously returned undefined and the downstream chatMLFetcher saw zero completions and fell to `ChatFetchResponseType.Unknown` ("Sorry, no response was returned.").
Map terminal events into ChatCompletions with the right FinishedCompletionReason so the existing chatMLFetcher switch handles them:
- response.incomplete + content_filter -> ContentFilter (+ FilterReason from CAPI content_filters labels, e.g. TextCopyright -> Copyright)
- response.incomplete + max_output_tokens -> Length
- response.failed -> ServerError
fix: replace typescript.tsdk.desc with new js/ts.tsdk.path
* agent host: handle elicitation requests from copilot SDK
- Implements the new `onElicitationRequest` hook from the Copilot SDK so that the copilot agent can surface elicitations (free-form, schema, and URL) as session input requests, dispatching the agent's reply back through the SDK once the user responds.
- Renders URL-mode elicitations in the chat UI as a proper `ChatElicitationRequestPart` that opens the URL via `IOpenerService` and dispatches Accept/Decline/Cancel, instead of falling through to the question-carousel fallback which was not designed for URL approvals.
- Adds unit tests covering the new agent-side elicitation flow as well as the workbench-side URL elicitation rendering, opener integration, decline/cancel paths, and external-completion echoes.
Fixes <no issue>
(Commit message generated by Copilot)
* address review feedback for url elicitation handling
- settle() is idempotent without short-circuiting on cancellation
- map server-side SessionInputCompleted to ElicitationState before hide()
- check IOpenerService.open() return value; treat false as Decline
- tighten boolean/number text coercion in elicitationAnswerToFieldValue
- handle free-form (no schema) accept by returning { answer: text }
- add tests covering server-side dismissal (Cancel) and opener=false
…back Address PR feedback and round out the content-filter mapping: - Map response.error (string-coded per OpenAI SDK) onto APIErrorResponse so it propagates through ChatCompletion.error -> ChatFetchResult.streamError and BYOK callers see the underlying server-side reason. The numeric code field can't hold OpenAI's string enum, so the string is stashed in metadata.code (BYOK JSON.stringify's the whole struct). - Add protected_material_text / protected_material_code to the structured content_filter_results fallback. These are the Azure REST spec's copyright detectors; today the wire emits the legacy CAPI 'content_filter_raw' shape with action=BLOCK + label=TextCopyright, but the spec'd path is what Azure is rolling toward. - Document the wire-vs-spec distinction on CapiResponseTerminalEvent. - Type the test's completions array as ChatCompletion[] (avoid any[]). - Add a regression test asserting response.failed.error propagates.
Plumbs an optional 'resource' field through IAuthenticationService get/createSession options and the authIssuers proposal so MCP authentication can request audience-restricted tokens. mainThreadMcp now forwards authDetails.resourceMetadata.resource into both calls. In the microsoft-authentication extension, the resource is threaded into MSAL's acquireTokenInteractive, acquireTokenByDeviceCode, and acquireTokenSilent. Bumps @azure/msal-node and @azure/msal-node-extensions to ^5.1.5; adapts to ServerAuthorizationCodeResponse -> AuthorizeResponse and fromNativeBroker -> fromPlatformBroker renames. Adds tests verifying that getSessions/createSession forward 'resource' to the provider, and that each MSAL flow (default, protocol handler, device code) forwards 'resource' to the underlying MSAL call.
#315886) Tool search is now always enabled for gpt-5.4/gpt-5.5, matching the messages API path. Aligns the responses API on the same endpoint.supportsToolSearch capability flag. Also registers ToolSearchTool for gpt-5.4/gpt-5.5 and the claude-opus-4.7 variants so model-specific tool gating actually matches the supported endpoints.
Responses API: translate terminal events into typed completions
… connect (#315897) - The tunnel picker flow called `connect()` (which fired `onDidChangeConnections`) before `cacheTunnel()` (which fired `onDidChangeTunnels` and created the provider). The wire-up handler therefore ran with no provider, so the new connection was never bound and `listSessions` was never issued — tunnel sessions only appeared after the user started a new session on the tunnel. - Move `cacheTunnel()` inside `connect()` (desktop + web) so the cache → provider creation → `addManagedConnection` → wire-up ordering is invariant regardless of caller, removing the need for defensive re-wiring in the contribution. - Drop the now-redundant explicit `cacheTunnel` call from the picker action and the trailing `_onDidChangeTunnels.fire()` from both service impls (cacheTunnel already fires it). - Add a regression test that asserts a freshly-cached tunnel binds to a subsequent live connection through the standard wire-up path. Fixes #315059 (Commit message generated by Copilot)
* Improve "Export agent host logs" action * fix
* chat: show agent host model pricing in turn details Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chat: show agent host response credits Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chat: include agent host live usage details Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chat: handle late agent host usage Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chat: read agent host usage cost Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chat: persist agent host usage details Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chat: remove agent host usage persistence Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * agentHost: test usage metadata Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Clicking a remote host row in the Remote tab of the session workspace picker no longer opened the per-remote options popup (Reconnect / Remove / Copy connection string / Open settings / Show output). The remote rows are built with an inline `run` callback that invokes `_showRemoteHostOptionsDelayed`. A recent refactor extracted dispatch into a shared `_dispatchPickerItem` so the mobile sheet could reuse it, but the desktop `_buildDelegate.onSelect` was rewritten inline and dropped the `item.run` branch. Clicks fell through to `commandService.executeCommand` with a synthetic id that isn't a registered command, so nothing happened. Wire the desktop `onSelect` to `_dispatchPickerItem` so both presentations share the single source of truth. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )